package com.hdu.service;

import com.hdu.dto.CollectCourseDTO;
import com.hdu.entity.CollectCourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hdu.pojo.PageBean;
import com.hdu.vo.AddCollectVo;
import com.hdu.vo.BaseParamVo;

/**
 * <p>
 * 课程收藏 服务类
 * </p>
 *
 * @author xiaobai
 * @since 2025-04-10
 */
public interface ICollectCourseService extends IService<CollectCourse> {
    /**
     * 课程查询接口
     *
     * @param baseParamVo 查询条件
     * @return PageBean<CourseBase>
     */
    PageBean<CollectCourseDTO> queryCollectCourseList(int userInfoId, BaseParamVo baseParamVo);

    /**
     * 收藏课程接口
     *
     * @param addCollectVo 收藏条件
     */
    Boolean createCollectCourse(AddCollectVo addCollectVo);

    /**
     * 收藏课程接口
     *
     * @param userInfoId 用户标识
     * @param courseId   课程标识
     */
    void removeCollectCourse(int userInfoId, Long courseId);
}
